package com.jielihaofeng.atguigu.nio;

import java.nio.ByteBuffer;

/**
 * @author Johnnie Wind
 * @description 关于 Buffer 和 Channel 的注意事项和细节
 * ByteBuffer 支持类型化的 put 和 get，put 放入的是什么数据类型，get 就应该使用相应的数据类型来取出，否则可能有 BufferUnderflowException 异常。【举例说明】
 * @date 2021/11/25 11:54
 */
public class NIOByteBufferPutGet {
    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(64);

        buffer.putInt(100);
        buffer.putLong(9L);
        buffer.putChar('借');
        buffer.putShort((short) 4);

        // 取出
        buffer.flip();

        System.out.println(buffer.getInt());
        System.out.println(buffer.getLong());
        System.out.println(buffer.getLong());
        System.out.println(buffer.getShort());
    }
}
